//
// Created by alexa on 5/14/2024.
//

#ifndef ARTILLERYSYSTEM_CREWSMENU_H
#define ARTILLERYSYSTEM_CREWSMENU_H


#include "../_abstract-menu/Menu.h"

class CrewsMenu : public Menu {
private:
    CrewsService *service;

    MaintenanceCrew* findCrew();

    void displayCrewInfo(MaintenanceCrew* crew);

    void displayCrewsList();

    void deleteCrew(MaintenanceCrew* crew);

    void printCrewsList(vector<MaintenanceCrew*> list);

    void printCrewInfo(MaintenanceCrew* crew, vector<Soldier *> members);

    void printMenu();

    void createCrew();

    void removeSoldierFromCrew(MaintenanceCrew* crew);

    void addSoldierToCrew(MaintenanceCrew* crew);

    void findAndDisplayCrewInfo();
public:
    CrewsMenu(i18n::Translator *t, UserInterface *ui, CrewsService *service);

    void displayMenu() override;
};


#endif //ARTILLERYSYSTEM_CREWSMENU_H
